
/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , user = require('./routes/user')
  , http = require('http')
  , path = require('path')
  , stylus = require('stylus')
  , nib = require('nib')
  , webRest = require('./restful/webRest')
  , movilRest = require('./restful/movilRest');

var app = express();


function compile(str, path) {
  return stylus(str)
    .set('filename', path)
    .use(nib());
}


app.configure(function(){
	// all environments
	app.set('port', process.env.PORT || 3000);
	app.set('views', __dirname + '/views');
	app.set('view engine', 'jade');
	app.use(express.favicon());
	app.use(express.logger('dev'));
	//app.use(express.bodyParser());
	app.use(express.bodyParser({ keepExtensions: true, uploadDir: './public/imagenesFormulario' }));
	app.use(express.methodOverride());
	app.use(app.router);
	app.use(express.static(path.join(__dirname, 'public')));
	//app.use(express.bodyParser({uploadDir:'./uploads'}));
	
	app.use(stylus.middleware(
	  { src: __dirname + '/public'
	  , compile: compile
	  }));

});

// development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

app.get('/', routes.index);
app.get('/users', user.list);
movilRest.setRestful(app); 

webRest.setRestful(app); 

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
